In a typical printing process over a network environment, a user at computer workstation typically uses printer-specific print driver software to load documents or images into a buffer (usually an area on a disk of a workstation), where a printer pulls them off the buffer at its own rate. The user may also use the print driver software to manually adjust the print attributes, which instruct the printer on the proper processing of the document or image files. Print attributes typically include image options (e.g., resolution, background), image orientation (landscape, portrait, etc.), number of copies, colors, duplex (double-sided) or single-sided printing, and other printing parameters.
The print driver also functions to convert the text, graphics and print attributes specified by the user's workstation into a set of codes that the printer can translate and/or read. The set of codes is typically a version of Printer Control Language (PCL), developed by Hewlett-Packard for its dot-matrix, inkjet, and LaserJet series printers. The version of PCL most commonly used as the printer coding language is Page Description Language (PDL). Once the text, graphics and print attributes have been converted to PDL, the PDL is transmitted by the workstation over the network, where it is received by the printer as a “print job.” Examples of PDL's include Hewlett Packard's HP-GL/2 language and Adobe's PostScript®.
As the printer receives the coded language from the print driver, it stores the information in high capacity memory storage (job retention), which typically comprises random-access memory (RAM), or a hard disk. A stored print job thus comprises of one or more electronically-stored files and the print attributes associated therewith. Before a typical print job (e.g., a PDL file) can be printed, however, its contents must be converted to a bit-mapped image format, also known as a raster image. The raster image is a bit-mapped representation of the document to be printed, with each bit in the bitmap representing the absence or presence of a dot (or pixel) on the printed page.
A raster image processor (“RIP”) in the printer typically translates PDL files to a raster image, also called a “RIP'ed” version of the file. Thus, the print files include data representing graphical images and the RIP'ed version is generated from the print file. Typically, print jobs are RIP'ed before storage in job retention, making them “print ready files.” In some cases, print jobs are received by the printer in the form of raster image data. In that case, a processor in the printer may engage in pixel image manipulation when storing the print job.
While print driver software is effective for sending a print job across a network, a driver-less printing system would offer some distinct advantages. For example, convenient systems do not presently exist for the remote transmission of a print job to a networked printer. Several reasons exist for this deficiency, including the fact that many remotely situated users may not have the specific print driver software needed for operation of a particular printer located on a network.
As an additional obstacle to printing by remotely located users, many networks have hardware and/or software firewall systems in place. These firewall systems act to block various external data transmissions from being sent to locations residing inside the network. In this regard, most firewall systems are restrictively configured to allow remotely situated users to access web pages within the network (via HTTP protocols), and to block all other access. Furthermore, and assuming print jobs intended for a particular network printer on a network could be sent over the Internet, such transmissions may require a particular network port (e.g., port 80) in the firewall system to remain “open,” thus increasing the possibility of security breaches. In addition to port access issues, the unique network address of the printing component may have to be specified in the transmission.
For users desiring to print from both inside and outside of a local network environment, making use of the proper printer-specific driver software is further problematic when a new printer has been added to the network. This is because the newly incorporated printer likely will not be operable under existing driver software.
Additionally, and for a variety of reasons, at least some of the existing users on a local network will not usually have the driver software or port configurations enabling them to print to certain on the various printing devices also located within the local network.
Thus, driver software and network configurations may not be effective or convenient for the submission of some print jobs to a network printer. This is particularly true in the case of a remotely situated user desiring to send print jobs to a printer residing on a local area network. Accordingly, what is needed in the art is a method and system for printing which provides increased flexibility, convenience and other advantages for locally and remotely situated users desiring to print or store a document on a network printer.